1. Field of the Invention
The present invention relates to a PC Card controller and a PC card power switch for coupling a PC Card to a computer system, and more particularly, to a PC Card controller having a reduced pin-count so as to manufacture the PC Card controller and the PC Card power switch with more cost effectiveness.
2. Description of the Related Art
PC Cards (16-bit PCMCIA cards and 32-bit CardBus cards) are widely installed in computer systems, particularly in notebook or laptop computers. PC Cards allow an exchangeable method for users to interface various functions such as modems and data storage to a computer system. The PC Card Standard publishes specifications for the form factor, power requirements, electrical interfaces, etc., of these cards to ensure interoperability between many computer system manufacturers. By complying with the PC Card Standard, a computer system manufacturer can enable these modular functions on their machine via PC Card connectivity.
There have been several manufacturers which provide similar PCI-based products to bridge or couple a PCI bus in a computer system to a PC Card controller. For example, some basic versions are available from Texas Instruments Inc. under the trade name PCI1410, O2 Micro International Limited under the trade name OZ6912, ENE Technology Inc. in Taiwan under the trade name CB1410, and Ricoh Co. Limited under the trade name R5C475.
Even in the most basic versions of PC Card controllers, there is a large number of signals required to meet the PCI and PC Card specification and a few other conventional signals required to meet widely adopted system-level interface guidelines and de-facto standards. The large signal count has been accommodated by PC Card controllers, which are packaged in a de-facto standard 144-pin QFP package, 144/145 ball BGA package, and 128-pin QFP package.
It should be understood that adding signals will take die area and increase the cost of the packaging. Die area is proportional to chip cost typically on a non-linear and continuous cost versus size curve. Regarding packaging, the curve of cost versus pin-count is typically a step function, because there are not industry standard packages available for every pin-count. For example, a few examples of industry standard packages for QFP-type package are 80-pins, 100-pins, 120-pins, 128-pins, and 144-pins. The size and pin count of the package are large factors in package cost. Furthermore, reducing the pin count of PC Card controller also reduces the board area of the printed circuit board of the PC Card controller.
Conventional PC Card Controller Terminals
Even in the most basic versions of PC Card controllers, there is a large number of signals required to meet the PCI and PC Card specifications and a few other conventional signals to meet widely adopted system-level interface guidelines and de-facto standards.
PC Card controllers on the market today comply with the PCI Specification v2.3. The PCI Specification includes a definition of over 60 signals including communication protocols and input/output electrical specifications. PC Card controllers typically implement the following conventional PCI input and/or output terminals:                a) PCI Arbitration Signals: REQ# and GNT#;        b) PCI Control Signals: FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, PERR#, SERR#;        c) PCI Address/Data Signals: AD31:0;        d) PCI Command and Byte Enable Signals: C/BE3:0#;        e) PCI Configuration Cycle Select: IDSEL;        f) PCI Interrupts: INTA#; and        g) PCI Clock: CLK.        
PC Card controllers on the market today also comply with the PC Card Standard, Release 8.0. The PC Card Standard includes a definition of over 60 signals including protocols and input/output electrical specifications. The signals for the 16-bit version of a PCMCIA card are multiplexed with the 32-bit CardBus definitions. PC Card controllers typically implement the following conventional PC Card input/output terminals:                a) CardBus Arbitration Signals: CREQ# and CGNT#;        b) CardBus Control Signals: CFRAME#, CIRDY#, CTRDY#, CSTOP#, CDEVSEL#;        c) CardBus Address/Data Signals: CAD31:0;        d) CardBus Command and Byte Enable Signals: CC/BE31:0#;        e) CardBus Interrupts: CINT#;        f) CardBus Clock: CCLK;        g) PCMCIA 16-bit Signals Not Multiplexed with CardBus Signals: D2, D14, A18; and        h) PC Card Detection and Voltage Sense Signals: CI1#, CD2#, VS1, VS2.        
A few conventional PC Card controller terminal functions are used to meet widely adopted system-level interface guidelines and de-facto standards. In practice today, some of these conventional PC Card controller terminal functions are multiplexed to the same terminal, and generally configurable for one function or another, to reduce pin-count. These are listed as below:                a) PC Card audio output that controls an audio driver from a PC Card source: named SPKR# here;        b) PC Card activity indicator output that typically controls an LED: named SKT_LED here;        c) PCI reset input: named PRST# here;        d) PCI clock control, via “clock run protocol” terminal, de-factor standard: named CLKRUN# here;        e) Power management context reset: named GRST# here;        f) ACPI power management event: named PME# here;        g) PCMCIA ring indicator, for PCMCIA modems to wake system: named RI_OUT here;        h) Serialized legacy IRQ protocol terminal: named IRQSER here;        i) Parallel power switch communication terminals: named VCCD0#, VCCD1#, VPPD0, VPPD1 here; and        j) Serial power switch communication terminals: named CLOCK, DATA, LATCH here.        
Extra-Function Terminals
Several new functions have been integrated into the PC Card controllers in practice today; for example, IEEE1394 Link or Link+PHY (Physical Layer) circuitry, Smart Card Readers, Flash Media Readers, and SDIO Readers. Other ideas such as IrDA controllers and Networking controllers integrated into the PC Card controller have been conceived. In many cases where a new function is integrated into the PC Card controller, new terminals are needed to fulfill the application of the new function and called extra-function terminals herein.
Examples of the extra-function terminals are provided below:                a) The Smart Card interface defined by ISO7816;        b) The SD memory Card interface defined by the SDA (Secure Digital Association);        c) The SmartMedia interface defined by the SSFDC Forum;        d) The xD-Picture Card interface defined by FujiFlim and Olympus;        e) The High Speed Serial Bus Electrical interface Defined by the IEEE1394 Standard; and        f) The PHY/Link Interface defined by the IEEE1394-2000 Standard.        
The addition of extra-function terminals typically increases the pin-count of the PC Card controller. In other cases, the extra-function terminals are provided on reserved and/or unused terminals functions of a typical PC Card controller. However, PC Card controller manufacturers continue to remove reserved and unused terminal functions, so it is difficult to find locations for extra-function terminals without increasing the pin-count of the PC Card controller.
Extra-function terminals herein are associated with functions integrated into a PC Card controller. For example, if a PC Card controller is enhanced to include Smart Card reader logic, then any new terminals included in the PC Card controller beyond the conventional PC Card controller terminals and related to the use of the Smart Card logic are categorized as extra-function terminals. In this example, the terminal used for Smart Card detection is an extra-function terminal.
Conventional PC Card Power Switches
When a PC Card is inserted into the PC Card connector, the connection is detected by a conventional PC Card controller by means of card detect and voltage sense signals, also called CD/VS signals. The CD/VS signals indicate the electrical interface and voltage requirements of the PC Card. The PC Card controller enables the appropriate electrical interface to the card, and communicates via electrical control signals to the PC Card power switch indicating the voltage requirements of the card. The PC Card power switch will enable/apply VCC and VPP power, as specified in the PC Card Standard, to the PC Card based on the control information.
Control information is provided from the PC Card controller to the PC Card power switch by a power switch communication protocol, depending on the switch used in the system. There are two de-facto standard power switch control interfaces and associated communication protocols that are used today: a serial control interface using a serial communication protocol, and a parallel control interface using a parallel communications protocol. For example, serial PC card power switches are available from Texas Instruments Inc. under the trade name TPS2206 and 02 Micro International Limited under the trade name OZ2206. For example, parallel PC Card power switches are available from Texas Instruments Inc. under the trade name TPS2211 and O2 Micro international Limited under the trade name OZ2211. Data sheets for the TPS2206 and TPS2211 illustrate the serial and parallel control protocols in detail.
Conventional PC Card power switch terminals include:                a) Power supply terminals that input power from the system, and a reference ground;        b) Socket source terminals that output power to the VCC and VPP power rails of the PC Card;        c) PC Card power control terminals (e.g. parallel protocol, serial protocol, shut down control signal); and        d) Optional PC Card power status terminals.        
Examples of optional power status terminals are over-current indicators, over-temperature indicators, and voltage-level indicators (e.g. VCC and/or VPP is inside a predetermined voltage range).
Prior Art Illustrations
Referring to FIG. 1, a typical PC Card subsystem 150 of a computer system 102 in the prior art is illustrated. The PC Card subsystem 150 includes a PC Card connector 105 for receiving a PC Card 106, and a PC Card controller 100 coupled to the PC Card connector 105. The PC Card controller 100 is also coupled to a host bus 101, and to a host bus controller 114 to provide the connection to the system CPU and other elements of the computer system 102. The PC Card controller 100 includes logic 100a that communicates with the host bus 101 using PC Card communication protocols, and provides PC Card electrical interface input/output signals 108 for connectivity to the PC Card 106. The controller 100 also provides conventional terminal function 110 used to meet widely adopted system-level interface guidelines and de-facto standards.
It is common to integrate extra-function logic 100b into the PC Card controller 100 to provide more functionality, and typically this extra-function logic provides input/output signals 115 to provide connectivity to control and data elements associated with the extra integrated function.
When a PC Card 106 is inserted into the PC Card connector 105, the connection is detected by the PC Card controller 100 by means of card detect and voltage sense signals 107, also called CD/VS signals. The CD/VS signals indicate the electrical interface 111 of the PC Card 106, e.g., CardBus or 16-bit R2 electrical interface, and voltage requirements of the PC Card 106. The PC Card controller 100 enables the appropriate electrical interface to the card, and outputs electrical control signals 103 to the PC Card power switch 104 for indicating the voltage requirements of the PC Card 106.
The PC Card power switch 104 switches VCC and VPP power 109, as specified in the PC Card standard, to the PC Card 106 based on the control signals 103. The power switched to the socket is sourced from inputs 112 to the PC Card power switch 104. The power switch 104 may provide one or more socket power status outputs 113 that indicate card power related information such as over-current conditions, over-temperature conditions, and voltage-level conditions, e.g., VCC and/or VPP is inside or outside a predetermined voltage range.
Referring to FIG. 2, another typical PC Card subsystem 250 of a computer system 202 in the prior art is illustrated. The PC Card subsystem 250 is similar to the PC Card subsystem 150 shown in FIG. 1, wherein the same reference numbers refer to the same members. The PC Card controller 200 is coupled to a PCI host bus and to a PCI host bus controller 214 by means of the PCI bus REQ# 223 and GNT# 228 arbitration signals, a PCI bus interrupt signal 225, and other conventional PCI bus signal 224 defined in the PCI Specification. In this less generalized example, the extra-function logic integrated into the PC Card controller is Smart Card reader logic 200b, and the Smart Card input/output signals 227 provide data and control signals associated with Smart Cards.
The controller 200 in FIG. 2 also provides conventional terminal functions, including an output signal, SPKR# 226 for PC Card audio and other signals 221 used to meet widely adopted system-level interface guidelines and de-facto standards, e.g., PCI clock control CLKRUN# protocol.
In summary, there exists a need for a PC Card controller which is able to minimize the number of the terminals. The present invention provides this and other advantages.